﻿﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CI.Caja.DL;
using CI.Caja.BE;

namespace CI.Caja.BL
{
    public class BL_Personal: IBL_Personal
    {

         IDA_Personal PersonalDA= null;

        public BE.BE_Personal RegistrarPersonal(string idpersonal, string nombre,  string apellido, int idcargo, string numDNI)
        {
            BE_Personal personaNueva = new BE_Personal();
            

            try
            {
                personaNueva.IdPersonal = idpersonal;
                personaNueva.Nombre = nombre;
                
                personaNueva.Apellido = apellido;
                personaNueva.IdCargo = idcargo;
                personaNueva.NumDNI = numDNI;

                return PersonalDA.RegistrarPersonal(personaNueva);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }

        public BE.BE_Personal ObtenerPersonal(string idpersonal)
        {
            try
            {
                return PersonalDA.ObtenerPersonal(idpersonal);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }

        public ICollection<BE.BE_Personal> ListarPersonal()
        {
            try
            {
                return PersonalDA.ListarPersonal();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
           public BE.BE_Personal ActualizarPersonal(string idpersonal, string nombre, string apellido, int idcargo, string numDNI)
        {
            BE_Personal personaActualizada = new BE_Personal();
            

            try
            {
                personaActualizada.IdPersonal = idpersonal;
                personaActualizada.Nombre = nombre;
                
                personaActualizada.Apellido = apellido;
                personaActualizada.IdCargo = idcargo;
                personaActualizada.NumDNI = numDNI;

                return PersonalDA.ActualizarPersonal(personaActualizada);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }

           public string ObtenerCodigo()
           {
               try
               {
                   return PersonalDA.ObtenerCodigo();
               }
               catch (Exception ex)
               {
                   throw new Exception(ex.Message);
               }
           }
           public int ValidaDuplicado(string numDNI) {
               BE_Personal personalActualizado = new BE_Personal();
               try
               {
                   personalActualizado.NumDNI = numDNI;
                   return PersonalDA.ValidaDuplicado(personalActualizado);
               }
               catch (Exception ex)
               {
                   throw new Exception(ex.Message);
               }
           }

           
        }
    }


